package com.example.redisrabbitesintegeation.service;

import com.example.redisrabbitesintegeation.model.entity.News;

import java.util.List;

/**
 * @InterfaceName NewsService
 * @Description TODO
 * @Author Kx
 * @Date 2025/10/21 19:10
 * @Version 1.0
 */
public interface NewsService {
    /**
     * @author: kx
     * @date: 2025/10/21 19:11
     * @param news : 新闻对象
     * @description: 发布新闻
    */
    void publishNews(News news);

    /**
     * @author: kx
     * @date: 2025/10/21 20:04
     * @return java.util.List<com.example.redisrabbitesintegeation.model.entity.News>
     * @description: 查询所有新闻信息
    */
    List<com.example.redisrabbitesintegeation.model.document.News> getNewsList();

    /**
     * @author: kx
     * @date: 2025/10/21 20:15
     * @param keyword : 关键字
     * @return java.util.List<com.example.redisrabbitesintegeation.model.entity.News>
     * @description: 搜索新闻信息并高亮显示
    */
    List<com.example.redisrabbitesintegeation.model.document.News> searchNewsWithHighlight(String keyword);

    /**
     * @author: kx
     * @date: 2025/10/21 20:37
     * @param newsId : 新闻id
     * @return com.example.redisrabbitesintegeation.model.entity.News
     * @description: 根据新闻id查询新闻信息
    */
    News getNewsById(Integer newsId);

    /**
     * @author: kx
     * @date: 2025/10/22 19:06
     * @param newsId : 新闻id
     * @description: 删除新闻信息
    */
    void deleteNewsById(Integer newsId);
}
